package com.cskaoyan.javase.oop1._8static._4notice;

/**
 * @description: 注意事项
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 1. 一个类中，静态方法无法直接调用非静态的方法和属性，也不能使用this，super关键字（super后面会讲）
 *    - **经典错误：Non-static field/method xxx cannot be referenced from a static context**
 *    - 原因：静态方法调用的时候，完全有可能没有对象，没有对象普通成员就无法访问
 *
 * 2. 普通成员方法当中，是可以访问静态成员的
 *    - 显然，既然对象都存在了，类加载一定进行了，所以这种访问是完全可行的
 *    - 建议采用这种访问形式的时候，使用类名.变量名的形式访问，以示区别，增加代码可读性
 *
 * 3. 只存在静态成员变量，不存在“静态局部变量”，包括静态方法中也没有“静态局部变量”
 *
 * 4. 静态成员变量不建议用构造方法赋值（因为这种赋值依赖于创建对象，不合适）
 * 5. 普遍来说，访问静态成员，都建议加上类名去访问，提升代码可读性
 *
 */
public class Demo {
    public static void main(String[] args) {
        //局部变量没有static关键字,实际上它几乎不能用关键字修饰(原因是它已经被方法限制死了,没有必要做其他限制了)
        //Modifier 'static' not allowed here
        int age = 10;
    }

    public static void test() {

    }
}
